Transaction security systems and methods

ABSTRACT

Outbound traffic of a host application may be received from a host device having a host processor. The secure resource may be configured to provide a secure transaction based on the outbound network traffic. Using a second processor different than the host processor, it may be determined whether the host application is authorized to provide the outbound network traffic to the secure resource. The outbound network traffic may be allowed to be forwarded to the secure resource if the host application is authorized. The outbound network traffic may be disallowed to be forwarded to the secure resource if the host application is not authorized.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 14/050,279, filed Oct. 9, 2013 and entitled “Transaction Security Systems and Methods,” now U.S. Pat. No. 9,935,957, which claims priority to U.S. Provisional Patent Application Ser. No. 61/711,666, filed Oct. 9, 2012 and entitled “Transaction Security Systems and Methods,” and to U.S. Provisional Patent Application Ser. No. 61/713,449, filed Oct. 12, 2012 and entitled “Transaction Security Systems and Methods,” which are hereby incorporated by reference herein.

TECHNICAL FIELD

The technical field relates to computer systems and methods. More particularly, the technical field relates to computer security systems and methods.

BACKGROUND

Computer systems have long played a role in facilitating electronic transactions. In the days of mainframe computers, for instance, a person could use a client device to connect to a central computer and transfer electronic funds and other data. More recently, personal computers and mobile devices have formed an important part of electronic commerce and electronic financial management. For example, many people use their personal computers and mobile devices to buy or sell items online, or to manage their financial accounts. Many people also use systems that collect private information online. Examples of such systems include web analytics and other analytics systems. With advances in network technologies and computer systems, the number of electronic transactions by people all across the world is likely to increase.

One item of concern with respect to electronic transactions is the management of sensitive information. When a person seeks to buy or sell an item, for example, the person may be providing sensitive information about a bank account, credit card, or other financial information. When a person performs other types of electronic transactions, the person may divulge other types of sensitive information, such as the person's social security number, address, telephone number, contact information, and other personally identifiable information. Attempts to protect sensitive information in electronic transactions have not proven to be readily importable into contexts involving personal computers or mobile devices.

SUMMARY

Outbound traffic of a host application may be received from a host device having a host processor. The secure resource may be configured to provide a secure transaction based on the outbound network traffic. Using a second processor different than the host processor, it may be determined whether the host application is authorized to provide the outbound network traffic to the secure resource. The outbound network traffic may be allowed to be forwarded to the secure resource if the host application is authorized. The outbound network traffic may be disallowed to be forwarded to the secure resource if the host application is not authorized.

In some embodiments, the host application may provide the outbound network traffic to the secure resource. The disallowing the outbound network traffic may comprise blocking network access of the outbound network traffic. The disallowing the outbound network traffic may comprise modifying or filtering the outbound network traffic.

In various embodiments, the host application may comprise an application on the host device, on a server providing services to the host device, or on a device distinct from a secure transaction device comprising the second processor.

In some embodiments, the outgoing network traffic may be redirected to the second processor before determining whether the host application is authorized to provide the outbound network traffic to the secure resource. A network connection of a secure transaction device comprising the second processor, the configuring before receiving the outbound traffic of the host application.

In various embodiments, all incoming network traffic for the host device may be received. The determining whether the host application is authorized to provide the outbound network traffic may comprise looking up permissions of the host application on a security policy. In some embodiments, the second processor may be used to manage security services for the host device, the managing based on the security policy.

A secure transaction device may comprise: a host device interface module configured to receive, from a host device having a host processor, outbound network traffic of a host application, the outbound network traffic directed to a secure resource, the secure resource configured to provide a secure transaction based on the outbound network traffic; an application determination module configured to determine, using a second processor different than the host processor, whether the host application is authorized to provide the outbound network traffic to the secure resource; a trusted application module configured to allow the outbound network traffic to be forwarded to the secure resource if the host application is authorized; and an untrusted application module configured to disallow the outbound network traffic to be forwarded to the secure resource if the host application is not authorized.

The host application may provide the outbound network traffic to the secure resource. The disallowing the outbound network traffic may comprise blocking network access of the outbound network traffic. The disallowing the outbound network traffic may comprise modifying or filtering the outbound network traffic.

The host application may comprise an application on the host device, on a server providing services to the host device, or on a device distinct from the secure transaction device.

The secure transaction device may comprise a data redirection module configured to redirecting the outgoing network traffic to the second processor before the application determination module determines whether the host application is authorized to provide the outbound network traffic to the secure resource.

The secure transaction device may further comprise a device configuration module adapted to configure a network connection of the secure transaction device, before receiving the outbound traffic of the host application. The secure transaction device may further comprise a data redirection module configured to receive all incoming network traffic for the host device. In some embodiments, the application determination module may provide the outbound network traffic comprises looking up permissions of the host application on a security policy.

A system may comprise: means for receiving, from a host device having a host processor, outbound network traffic of a host application, the outbound network traffic directed to a secure resource, the secure resource configured to provide a secure transaction based on the outbound network traffic; means for determining, using a second processor different than the host processor, whether the host application is authorized to provide the outbound network traffic to the secure resource; means for allowing the outbound network traffic to be forwarded to the secure resource if the host application is authorized; and means for disallowing the outbound network traffic to be forwarded to the secure resource if the host application is not authorized.

Other features and embodiments are apparent from the accompanying drawings and from the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of a secure transaction environment, according to some embodiments.

FIG. 2 shows an example of a secure transaction device, according to some embodiments.

FIG. 3 shows an example of a flowchart of a method for managing a secure transaction for a host device, according to some embodiments.

FIG. 4 shows an example of a device configuration module, according to some embodiments.

FIG. 5 shows an example of a flowchart of a method for configuring a secure transaction device, according to some embodiments.

FIG. 6 shows an example of a security policy management module, according to some embodiments.

FIG. 7 shows an example of a flowchart of a method for managing a security policy of a secure transaction device, according to some embodiments.

FIG. 8 shows an example of a secure network transaction module, according to some embodiments.

FIG. 9 shows an example of a flowchart of a method for providing a secure transaction to a host device, according to some embodiments.

FIG. 10 shows an example of a digital device, according to some embodiments.

FIG. 11 shows an example of an implementation of a secure transaction environment, according to some embodiments.

FIG. 12 shows an example of an implementation of a secure transaction environment, according to some embodiments.

FIG. 13 shows an example of an implementation of a secure transaction environment, according to some embodiments.

FIG. 14 shows an example of an implementation of a secure transaction environment, according to some embodiments.

FIG. 15 shows an example of an implementation of a secure transaction environment, according to some embodiments.

DETAILED DESCRIPTION

As discussed herein, a secure transaction device protects sensitive information from malware and untrusted applications during an electronic transaction. FIG. 1 shows an example of a secure transaction environment 100, according to some embodiments. The secure transaction environment 100 may include a host device 105, a secure transaction device 110, a network 115, a secure resource system 120, a policy management system 125, and a biometric input device 112.

The host device 105 may be coupled to the secure transaction device 110. The host device 105 may comprise a digital device configured to perform an electronic transaction. An electronic transaction, as used herein, includes a transaction performed by a digital device over a network connection. A digital device, as used herein, includes a device having a shared or dedicated processor and memory configured to store instructions executed by the shared or dedicated processor. The host device may have some or all of the elements of the digital device 1000 shown in FIG. 10. The host device may comprise one or more of a desktop computer, a laptop computer, a game console, a tablet device, a mobile phone, a personal digital assistant (PDA), or other digital device.

The host device 105 may include network interfaces, networked applications, and/or networked services. Network interfaces may include hardware and/or software adapted to connect the host device 105 to the network 115. Examples of network interfaces include wired network interfaces (such as Ti interfaces, Ethernet interfaces, etc.) as well as wireless network interfaces (such as Wi-Fi interfaces, Third Generation (3G) wireless interfaces, Fourth Generation (4G) wireless interfaces, Bluetooth interfaces, Near Field Communications (NFC) interfaces, etc.). In a specific implementation, the network interfaces of the host device 105 may serve to couple the host device 105 to the secure transaction device 110. Networked applications and/or networked services may provide the host device 105 with access to the network 115 through the network interfaces. Examples of networked applications include web browsing applications and native mobile applications. Examples of networked services include processes that access remote resources without executing in a standalone application.

Depending on whether the host device 105 is coupled to the secure transaction device 110, the host device 105 may or may not use the network interfaces of the host device 105 for network access. For instance, the networked applications and/or networked services may use the network interfaces for access to the network 115 when the host device 105 is not coupled to the secure transaction device 110. However, when the host device 105 is coupled to the secure transaction device 110, the networked applications and/or networked services may use the secure transaction device 110 for access to the network 115.

The secure transaction device 110 may be coupled to the host device 105, the biometric input device 112 and the network 115. The secure transaction device 110 may comprise a digital device having a shared or dedicated processor and memory configured to store instructions executed by the shared or dedicated processor. The shared or dedicated processor of the host device 105 may be distinct from the shared or dedicated processor of the host device 105. The secure transaction device 110 may comprise one or more of a flash memory device, a Universal Serial Bus (USB) device, and other portable device. The memory of the secure transaction device 110 may comprise Random Access Memory (RAM), such as Flash RAM.

The secure transaction device 110 may comprise a host device interface, a biometric input device interface, and a network interface. The host device interface may couple the secure transaction device 110 to the host device 105. The biometric device interface may receive biometric information such as fingerprint scans or retinal scans from the biometric input device 112. The network interface may couple the secure transaction device 110 to the network 115.

The secure transaction device 110 may facilitate an electronic transaction between the host device 105 and the secure resource system 120. The secure transaction device 110 may instruct the operating system of the host device 105 to provide a redirected network connection 134 between the host device 105 and the secure transaction device 110. The secure transaction device 110 may also determine whether applications and/or processes on the host device 105 should be allowed to access the network 115 and/or the secure resource system 120. Trusted applications may be given access to a secure isolated tunnel 130 through the network 115. Untrusted applications and/or malware may be blocked from accessing the network 115. The secure transaction device 110 may provide security services for the host device 105. The secure transaction device 110 may maintain a secure kernel so that code within the secure transaction device 110 is not compromised by malware and/or untrusted applications on the host device 105. The user may be authenticated by authentication information, such as biometric information from the biometric input device 112. The network access and/or security services may be managed by policy management instructions 132 from the policy management system 125. FIG. 2 shows the secure transaction device 110 in greater detail.

The biometric input device 112 may be coupled to the secure transaction device 110. The biometric input device 112 may comprise a digital device. The biometric input device 112 may provide biometric information to ensure access to secure resources. The biometric input device 112 may comprise a fingerprint scanner or retinal scanner that provides a scanned image of a user's retina. In various embodiments, user may be authenticated by using authentication systems other than or in addition to the biometric input device 112 (e.g., user ID and password, secure token, etc.).

The secure resource system 120 may be coupled to the network 115. The secure resource system 120 may comprise a digital device. The secure resource system 120 may store secure resources, such as data, applications, processes, or other items that are accessed using the secure isolated tunnel 130. The secure resources may involve the use of sensitive information, such as financial information, private information, or other information that could compromise a user's security if revealed to others. The secure resources on the secure resource system 120 may require evidence of authorized access.

The policy management system 125 may be coupled to the network 115. The policy management system 125 may provide policy management instructions 132 to the secure transaction device. The policy management system 125 may also manage the secure isolated tunnel 130 through the network 115. The policy management system 125 may be implemented on a digital device, a set of cloud-based servers, or the like.

In a specific implementation, the secure transaction device 110 may allow a trusted application on the host device 105 to access secure resources on the secure resource system 120. The secure transaction device 110 may receive an indication that a trusted application on the host device 105 seeks access to the secure resources. In response to the access request, the secure transaction device 110 may instruct the operating system of the host device 105 to forward all network traffic through the secure transaction device 110. The secure transaction device 110 may further instruct the host device 105 to disable receiving and transmitting network traffic other than the network traffic through the secure transaction device 110.

In a specific implementation, the secure transaction device 110 may authenticate a user's credentials, biometric information, or other information, from the biometric input device 112 or otherwise. The secure transaction device 110 may create the secure isolated tunnel 130 for all network traffic from the trusted application on the host device 105. The secure transaction device 110 may block network access for malware and untrusted applications on the host device 105. The secure transaction device 110 may provide security services for the host device 105.

In some embodiments, the secure transaction device 110 may be implemented as a device inside the host device 105. More specifically, the secure transaction device 110 may be embedded within the host device 105. The secure transaction device 110 may include a processor that is distinct from a host processor of the host device 105. The network configuration of the secure transaction device 110 may be determined before the electronic transaction has been initiated.

In various embodiments, the secure transaction device 110 may be implemented as a device that is coupled to an external port of the host device 105. The secure transaction device 110 may include a processor that is distinct from a host processor of the host device 105. In these embodiments, the secure transaction device 110 may initiate the electronic transaction in response to the secure transaction device 110 being coupled to the host device 105. Moreover, after the electronic transaction ends, the secure transaction device 110 may be decoupled from the host device 105 so that the host device 105 can operate as normal.

FIG. 2 shows an example of a secure transaction device 110, according to some embodiments. The secure transaction device 110 may include a host device interface module 205, a network interface module 210, a device configuration module 215, a secure kernel module 220, a data redirection module 225, a security policy management module 230, and a secure network transaction module 235.

The host device interface module 205 may facilitate coupling the secure transaction device 110 to the host device 105. The host device interface module 205 may also facilitate data transfer between the host device 105 and the modules of the secure transaction device 110. The host device interface module 205 may be compatible with the network interfaces of the host device 105. More specifically, in some embodiments, the host device interface module 205 may be configured to couple to a network access port of the host device 105. The network port may comprise a wired network port or a wireless network port, in various embodiments. As an example, the network port may comprise a 4G, 3G, or NFC port of the host device 105. The host device interface module 205 may be configured to couple to a data port of the host device 105. The host device interface module 205 may be compatible with a data port of the host device 105. For instance, the host device interface module 205 may be configured to couple to a Universal Serial Bus (USB) or other data port of the host device 105.

The network interface module 210 may facilitate coupling the secure transaction device 110 to the network 115. The network interface module 210 may also facilitate data transfer between the network 115 and the modules of the secure transaction device 110. The network interface module 210 may be compatible with the network interfaces provided by the network 115. The network interface module 210 may be adapted to couple to a network port of the network 115. The network port may comprise a wired network port or a wireless network port, in various embodiments.

The device configuration module 215 may be coupled to the host device interface module 205 and the network interface module 210. The device configuration module 215 may establish redirection protocols to the operating system, the applications, and the services of the host device 105. The device configuration module 215 may instruct the operating system of the host device 105 to redirect all network traffic to the network 115 through the secure transaction device 110. The device configuration module 215 may also instruct the operating system of the host device 105 to disable network receivers so that all network traffic passes through the secure transaction device 110 before going to the host device 105. The device configuration module 215 may also configure the secure transaction device 110 to connect to the network 115. FIG. 4 shows the device configuration module 215 in greater detail. In some embodiments, the host device 105 may be preconfigured to redirect all network traffic to the host device interface module 205.

The secure kernel module 220 may maintain a secure kernel for the secure transaction device 110. A secure kernel, as used herein, may include data that is secure from access by applications and/or processes of the host device 105. The secure kernel module 220 may include at least a portion of the operating system of the secure transaction device 110. The secure kernel module 220 may include secure data that is inaccessible to malware and/or untrusted applications on the host device 105 and/or the biometric input device 112. As a result, the secure kernel module 220 may maintain the integrity of data therein despite access attempts by malicious code and/or untrusted applications on the host device 105. The secure kernel module 220 may be managed by the security policy that is applied to the secure transaction device 110.

The data redirection module 225 may implement the redirection protocols established by the device configuration module 215. The data redirection module 225 may monitor network traffic between the host device 105 and the network 115. More specifically, the data redirection module 225 may intercept outgoing network traffic from the host device 105 and may provide the outgoing network traffic to the network 115. The data redirection module 225 may also receive from the network 115 all incoming network traffic destined to the host device 105. The data redirection module 225 may provide the incoming network traffic to the host device 105.

The security policy management module 230 may manage a security policy for the secure transaction device 110. To this end, the security policy management module 230 may receive the policy management instructions 132 from the policy management system 125. The security policy management module 230 may also implement the security policy based on the policy management instructions 132. The security policy management module 230 may store a copy of the security policy locally. FIG. 6 shows the security policy management module 230 in greater detail.

The secure network transaction module 235 may provide security for the electronic transaction between the host device 105 and the secure resource system 120. The secure network transaction module 235 may include protocols to manage the secure isolated tunnel 130. The secure network transaction module 235 may also include protocols to provide trusted applications with access to the secure isolated tunnel 130. The secure network transaction module 235 may block access of malware and/or untrusted applications to the secure isolated tunnel 130. In a specific implementation, the secure network transaction module 235 may request and evaluate biometric information from the biometric input device 112 to authenticate the user and authorize the electronic transaction. FIG. 8 shows the secure network transaction module 235 in greater detail.

FIG. 3 shows an example of a flowchart of a method 300 for managing a secure transaction for the host device 105, according to some embodiments. The method 300 is discussed in conjunction with the secure transaction device 110, shown in FIG. 2.

At block 305, the host device interface module 205 may determine whether the secure transaction device 110 is coupled to the host device 105. In embodiments where the host device interface module 205 implements a physical interface, the host device interface module 205 may determine that the secure transaction device 110 is physically coupled to the host device 105. In embodiments where the host device interface module 205 implements a network interface between the secure transaction device 110 and the host device 105, the host device interface module 205 may receive data from the host device 105 that indicates the transaction device 110 is coupled to the host device 105. The host device interface module 205 may provide to the device configuration module 215 the fact that the secure transaction device 110 is coupled to the host device 105.

At block 310, the network interface module 210 may determine that the host device 105 has an available connection to the network 115. In a specific implementation, the network interface module 210 may receive network traffic from the network 115. The network traffic may be destined for the host device 105. The network interface module 210 may inform the device configuration module 215 that network traffic is being received by the host device 105.

At block 315, the device configuration module 215 may configure a network connection of the secure transaction device 110 in response to the determining the host device 105 has the available connection. In a specific implementation, the device configuration module 215 may configure a network connection of the secure transaction device 110 so that the secure transaction device 110 may receive traffic from the network 115. The device configuration module 215 may select a network configuration that virtualizes the network connection of the host device 105 and makes the secure transaction device 110 transparent to the network 115. That is, in various embodiments, the device configuration module 215 may configure the network connection of the secure transaction device 110 to appear as if the host device 105 were coupled to the network 115. FIG. 5 shows block 315 in greater detail.

At block 320, the data redirection module 225 may redirect the network traffic from the host device 105 through the secure transaction device 110. In a specific implementation, the data redirection module 225 may override the system-level processes of the host device 105 that relate to network traffic. More specifically, the data redirection module 225 may intercept all outgoing network traffic from the host device 105 and force the outgoing network traffic through the secure transaction device 110. Conversely, the data redirection module 225 may disable network traffic receivers on the host device 105 so that all incoming network traffic to the host device 105 passes through the secure transaction device 110.

At block 325, the security policy management module 230 may access, in response to the redirecting of the network traffic, the security policy on the secure transaction device 110. In an implementation, the security policy management module 230 may retrieve a stored security policy or may obtain a copy of a remote security policy stored on the policy management system 125. The security policy management module 230 may also obtain instructions to manage the security policy, as discussed in more detail herein.

At block 330, the secure network transaction module 235 may set up the secure isolated tunnel 130 through the network 115 to the secure resource system 120. The secure isolated tunnel may be managed by the security policy. In a specific implementation, the secure network transaction module 235 may establish mutual authentication protocols between the secure transaction device 110 and the secure resource system 120 so that data may be securely transferred between the secure transaction device 110 and the secure resource system 120. Such mutual authentication protocols may involve negotiation of cryptographic keys used to encrypt the data being transferred between the secure transaction device 110 and the secure resource system 120. The secure network transaction module 235 may set up the secure isolated tunnel 130 based on the security policies of the secure transaction device 110. Once the cryptographic keys are negotiated, the secure network transaction module 235 may instruct all network traffic from the secure transaction device 110 to be directed through the secure isolated tunnel 130 that has been established to the secure resource system 120.

At block 335, the secure network transaction module 235 may block malware and/or untrusted application(s) from accessing the secure isolated tunnel 130 in accordance with the security policy. In some implementations, secure network transaction module 235 may deny malware and/or untrusted applications from having access to the cryptographic keys used to transport data through the secure isolated tunnel 130. As a result, malware and/or untrusted applications may not have access to the network 115 when the secure transaction device 110 is coupled to the host device 105.

At block 340, the secure network transaction module 235 may route trusted data through the secure isolated tunnel 130 in accordance with the security policy. In various implementations, secure network transaction module 235 may provide the trusted data with the cryptographic keys used to transport data through the secure isolated tunnel 130. The secure network transaction module 235 may encapsulate the trusted data in a format that is compatible with transport over the secure isolated tunnel 130. The trusted data may be routed through the secure isolated tunnel 130 until the electronic transaction has completed.

FIG. 4 shows an example of a device configuration module 215 according to some embodiments. The device configuration module 215 may include a host device coupling state module 405, a network coupling state module 410, a host device network module 415, and a network configuration module 420.

The host device coupling state module 405 may be coupled to the host device interface module 205 (shown in FIG. 2). The host device coupling state module 405 may determine whether the host device 105 is coupled to the secure transaction device 110 based on information from the host device interface module 205. The host device coupling state module 405 may provide to the other modules of the device configuration module 215 whether the host device 105 is coupled to the secure transaction device 110.

The network coupling state module 410 may be coupled to the network interface module 210 (shown in FIG. 2). The network coupling state module 410 may determine whether the secure transaction device 110 is coupled to the network 115 based on information from the network interface module 210. The network coupling state module 410 may provide to the other modules of the device configuration module 215 whether the secure transaction device 110 is coupled to the network 115.

The host device network module 415 may be coupled to the host device interface module 205. The host device network module 415 may instruct the host device interface module 205 to request from the host device 105 network configuration details of the host device 105. More specifically, the host device network module 415 may provide a network configuration request to the host device interface module 205, which in turn may be provided to the host device 105.

The network configuration module 420 may be coupled to the network interface module 210. The network configuration module 420 may configure parameters of the network interface module 210. For instance, the network configuration module 420 may configure network-layer protocols, such as Internet Protocol (IP) and other network location protocols of the network interface module 210. The network configuration module 420 may also configure device identifiers, such as a Media Access Card (MAC) address, of the network interface module 210 so that the device identifies appear to correspond to the host device 105. That is, in various embodiments, the network configuration module 420 may configure the network interface module 210 to virtualize the network connection of the host device 105 with respect to the network 115.

FIG. 5 shows an example of a flowchart of a method for configuring the secure transaction device 110, according to some embodiments. The method is discussed in conjunction with the device configuration module 215, shown in FIG. 4.

At block 505, the host device coupling state module 405 may receive an instruction that the secure transaction device 110 is coupled to the host device 105. In a specific implementation, the host device coupling state module 405 may receive a signal from the host device interface module 205 that the secure transaction device 110 is coupled to the host device 105.

At block 510, the network coupling state module 410 may receive an instruction that the secure transaction device 110 is coupled to the network 115. In a particular implementation, the network coupling state module 410 may receive a signal from the network interface module 210 that the secure transaction device 110 is coupled to the network 115.

At block 515, the host device network module 415 may obtain network configuration details of the host device 105. In various implementations, the host device network module 415 may request the host device 105 to provide its configuration details with respect to the network 115. The host device 105 may provide, in response to the request, its network configuration, including its IP address, network location, and other network-layer protocols. The host device 105 may also provide device identifiers of the host device 105.

At block 520, the network configuration module 420 may configure the secure transaction device 110 to match the network configuration details of the host device 105. In an implementation, the network configuration module 420 may match protocols, such as network-layer and device-layer protocols, of the secure transaction device 110 to corresponding protocols of the host device 105. Accordingly, in some embodiments, the network configuration module 420 may virtualize the network connection of the host device 105 and make the secure transaction device 110 transparent to the network 115.

FIG. 6 shows an example of a security policy management module 230, according to some embodiments. The security policy management module 230 may comprise a secure network management state module 605, a security policy access module 610, a policy management system interface module 615, and a security policy datastore 620.

The secure network management state module 605 may be coupled to the secure network transaction module 235 (shown in FIG. 2). The secure network management state module 605 may be configured to receive from the secure network transaction module 235 information about a state of the secure transaction device 110. The network management state module 605 may be configured to receive from the secure network transaction module 235 information relating to whether the secure transaction device 110 is managing network services for the host device 105.

The security policy access module 610 may be coupled to the security policy datastore 620. The security policy access module 610 may provide instructions to the security policy datastore 620 to access and/or modify a particular security policy therein.

The policy management system interface module 615 may be coupled to the policy management system 125 (shown in FIG. 1) through the network 115. The policy management system interface module 615 may receive the policy management instructions 132 (shown in FIG. 1) from the policy management system 125.

The security policy datastore 620 may be coupled to the other modules of the security policy management module 230. The security policy datastore 620 may provide a particular security policy to the security policy access module 610.

FIG. 7 shows an example of a flowchart of a method 700 for managing a security policy of a secure transaction device, according to some embodiments. The method 700 is discussed in conjunction with the security policy management module 230, shown in FIG. 6.

At block 705, the secure network management state module 605 may receive an instruction that network services of the host device 105 are being managed by the secure transaction device 110. In a specific implementation, the secure network management state module 605 may receive an instruction from the secure network transaction module 235 that the secure transaction device 110 is managing network services for the host device 105. As discussed, managing network services may involve allowing trusted applications access to the secure isolated tunnel 130, and disallowing malware and/or untrusted applications from accessing the network 115. The secure network management state module 605 may receive from the secure network transaction module 235 a notification to this effect.

At block 710, the security policy access module 610 may access a local security policy that implements security for the secure transaction device 110. In an implementation, the security policy access module 610 may access the security policy stored in the security policy datastore 620. The security policy may be implementing the security for the secure transaction device 110.

At block 715, the policy management system interface module 615 may receive instructions to manage the security policy. In a specific implementation, the instructions may comprise remote instructions from the policy management system 125. The policy management system interface module 615 may provide the instructions to the security policy access module 610.

At block 720, the security policy access module 610 may, in response to the instructions, manage the security policy. In a particular implementation, the security policy access module 610 may provide instructions to update, modify, add to, or delete from the security policy in the security policy datastore 620.

FIG. 8 shows an example of a secure network transaction module 235, according to some embodiments. The secure network transaction module 235 may comprise a biometric device interface module 805, a secure transaction initiation module 810, a security policy management interface module 815, a secure isolated tunnel management module 820, an application determination module 822, an untrusted application module 825, a trusted application module 830, a developer interface module 835, and security service module(s) 840.

The biometric device interface module 805 may be coupled to the biometric input device 112. The biometric device interface module 805 may receive biometric information from the biometric input device 112. The biometric device interface module 805 may provide the biometric information to the other modules of the secure network transaction module 235, such as the secure transaction initiation module 810.

The secure transaction initiation module 810 may be coupled to the biometric device interface module 805 and/or the host device interface module 205. The secure transaction initiation module 810 may receive notifications regarding whether a trusted application on the host device 105 is requesting access to the secure resource system 120. The secure transaction initiation module 810 may also receive biometric information from the biometric device interface module 805. The secure transaction initiation module 810 may verify whether the biometric information should be authenticated for a user of the host device 105.

The security policy management interface module 815 may be coupled to the security policy management module 230, shown in FIG. 2. The security policy management interface module 815 may access a security policy stored in the security policy management module 230. The security policy management interface module 815 may also determine whether the security policy allows or denies access to the secure isolated tunnel 130 for applications and/or processes on the host device 105.

The secure isolated tunnel management module 820 may be coupled to the network interface module 210. The secure isolated tunnel management module 820 may manage the secure isolated tunnel 130 and related protocols. The secure isolated tunnel management module 820 may manage mutual authentication protocols between the secure transaction device 110 and the secure resource system 120 so that data may be securely transferred between the secure transaction device 110 and the secure resource system 120. The secure isolated tunnel management module 820 may manage the secure isolated tunnel 130 based on the security policies of the secure transaction device 110. The secure isolated tunnel management module 820 may direct network traffic from the secure transaction device 110 through the secure isolated tunnel 130.

The application determination module 822 may be coupled to the host device interface module 205 and to the security policy management interface module 815. The application determination module 822 may parse the network traffic to extract an application or process associated with the network traffic. The application determination module 822 may determine, based on the security policy, whether the application or process comprises an untrusted application or malware. The application determination module 822 may also determine, based on the security policy, whether the application or process comprises a trusted application. The application determination module 822 may provide the determination to the untrusted application module 825 and the trusted application module 830.

The untrusted application module 825 may be coupled to the application determination module 822. The untrusted application module 825 may obtain network traffic from the host device interface module 205. If so, the untrusted application module 825 may block network access to the application or process. The trusted application module 830 may be coupled to the application determination module 822. The trusted application module 830 may determine, based on the security policy, whether the application or process comprises a trusted application. If so, the trusted application module 830 may allow the network traffic to access the secure isolated tunnel 130.

The developer interface module 835 may be coupled to the network interface module 210. The developer interface module 835 may receive instructions to modify an interface associated with the secure transaction device 110.

The security service module(s) 840 may be coupled to the host device interface module 205 and to the security policy management interface module 815. The security service module(s) 840 may provide security services for the host device 105. The security service module(s) 840 may comprise a network security module 840(a), an application security module 840(b), an end user application security module 840(c), and another security service module 840(d). The network security module 840(a) may provide network security services for an application on the host device 105 and/or the host device 105 itself. The application security module 840(b) may provide application security services for an application on the host device 105 and/or the host device 105 itself. The end-user security module 840(c) may provide end-user application security services for an application on the host device 105 and/or the host device 105 itself. The other security service module 840(d) may provide other security services not specifically enumerated by the network security module 840(a), the application security module 840(b), and the end user application security module 840(c).

FIG. 9 shows an example of a flowchart of a method 900 for providing a secure transaction to a host device, according to some embodiments. The method 900 is discussed in conjunction with the secure network transaction module 235, shown in FIG. 8.

At block 905, the secure transaction initiation module 810 may receive outbound traffic of a host application of the host device 105. The outbound network traffic may be directed to the secure resource on the secure resource system 120. The secure resource may be configured to provide a secure transaction based on the outbound network traffic. In a specific implementation, a notification may be provided when an application on the host device 105 attempts to send or receive network traffic. The operating system of the host device 105, which was hooked to redirect all network traffic to the secure transaction device 110, may provide such a notification. In some embodiments, the application itself may provide the notification.

At block 910, the secure transaction initiation module 810 may determine a permission of the user to access the secure resources with the application. In an implementation, the secure transaction initiation module 810 may evaluate whether the user has provided credentials sufficient to warrant access to the secure resources. For instance, the secure transaction initiation module 810 may determine whether the user has provided a valid username and password to access the secure resources. In some embodiments, the secure transaction initiation module 810 may perform the authentication based on biometric information from the biometric device interface module 805. For instance, the secure transaction initiation module 810 may evaluate whether a fingerprint scan or a retinal scan adequately corresponds to the user of the application. If the user is authenticated, the secure transaction initiation module 810 may inform the security policy management interface module 815.

At block 915, the application determination module 822 may determine, based on a security policy, whether the application is a trusted application, or an untrusted application or malware. In a specific implementation, the application determination module 822 may request the security policy management interface module 815 to compare the permissions of the application with permissions of known applications in the security policy datastore 620 (shown in FIG. 6). The application determination module 822 may further extract an application or process associated with the network traffic. The application determination module 822 may determine, based on the security policy, whether the application or process comprises an untrusted application or malware. The application determination module 822 may also determine, based on the security policy, whether the application or process comprises a trusted application. The application determination module 822 may provide the determination to the untrusted application module 825 and the trusted application module 830.

At block 920, the trusted application module 830 may allow the application to access the secure resource through the secure isolated tunnel 130 if the application is a trusted application. If the secure isolated tunnel has not been created, the trusted application module 830 may request the secure isolated tunnel management module 820 to create the secure isolated tunnel 130. The trusted application module 830 may format network traffic from the application into a format compatible with the secure isolated tunnel 130.

At block 925, the untrusted application module 825 may block the application's network access if the application is an untrusted application or is malware. In various implementations, the untrusted application module 825 may block forwarding of all network traffic related to the application if the application is an untrusted application or is malware. In some embodiments, the untrusted application module 825 may filter or modify all network traffic related to the application if the application is an untrusted application or is malware.

At block 930, the security service module(s) 840 may provide security services for the application and/or the host device 105. In some embodiments, the network security module 840(a) may provide network security services for the application and/or the host device 105. More specifically, the network security module 840(a) may provide one or more of a firewall, an intrusion detection system, an intrusion prevention system, a virtual private network (VPN) client, and other network security systems. In some embodiments, the application security module 840(b) may provide application security services for the application and/or the host device 105. For example, the application security module 840(b) may provide proxies for protocols such as: Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Single Mail Transfer Protocol (SMTP), and Post Office Protocol (POP). The application security module 840(b) may also provide anti-virus services, anti-spyware services, anti-spam services, anti-phishing services, web filtering services, and parental control services. In various embodiments, the end user application security module 840(c) may provide end user application security services for the application and/or the host device 105. For instance, the end-user security module 840(c) may provide Layer-8 security services, multi-layer security services, and other security end-user application security services for. In some embodiments, the other security module 840(d) may provide other security services for the application and/or the host device 105.

FIG. 10 depicts a digital device 1000, according to some embodiments. The digital device 1000 comprises a processor 1005, a memory system 1010, a storage system 1015, a communication network interface 1020, an I/O interface 1025, and a display interface 1030 communicatively coupled to a bus 1035. The processor 1005 may be configured to execute executable instructions (e.g., programs). The processor 1005 may comprises circuitry or any processor capable of processing the executable instructions.

The memory system 1010 is any memory configured to store data. Some examples of the memory system 1010 are storage devices, such as RAM or ROM. The memory system 1010 may comprise the RAM cache. In various embodiments, data is stored within the memory system 1010. The data within the memory system 1010 may be cleared or ultimately transferred to the storage system 1015.

The storage system 1015 is any storage configured to retrieve and store data. Some examples of the storage system 1015 are flash drives, hard drives, optical drives, and/or magnetic tape. In some embodiments, the digital device 1000 includes a memory system 1010 in the form of RAM and a storage system 1015 in the form of flash data. Both the memory system 1010 and the storage system 1015 comprise computer readable media which may store instructions or programs that are executable by a computer processor including the processor 1005.

The communication network interface (com. network interface) 1020 may be coupled to a data network via the link 1040. The communication network interface 1020 may support communication over an Ethernet connection, a serial connection, a parallel connection, or an ATA connection, for example. The communication network interface 1020 may also support wireless communication (e.g., 802.11 a/b/g/n, WiMAX). It will be apparent to those skilled in the art that the communication network interface 1020 may support many wired and wireless standards.

The input/output (I/O) interface 1025 is any device that receives input from the user and output data. The display interface 1030 is any device that may be configured to output graphics and data to a display. In one example, the display interface 1030 is a graphics adapter.

It will be appreciated by those skilled in the art that the hardware elements of the digital device 1000 are not limited to those depicted in FIG. 10. A digital device 1000 may comprise more or less hardware elements than those depicted. Further, hardware elements may share functionality and still be within various embodiments described herein. In one example, encoding and/or decoding may be performed by the processor 1005 and/or a co-processor located on a GPU.

The above-described functions and components may be comprised of instructions that are stored on a storage medium such as a computer readable medium. The instructions may be retrieved and executed by a processor. Some examples of instructions are software, program code, and firmware. Some examples of storage medium are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processor to direct the processor to operate in accord with some embodiments. Those skilled in the art are familiar with instructions, processor(s), and storage medium.

FIG. 11 shows an example of an implementation of a secure transaction environment 1100, according to some embodiments. The secure transaction environment 1100 may include elements having like numbers to the elements in FIG. 1.

FIG. 12 shows an example of an implementation of a secure transaction environment 1200, according to some embodiments. The secure transaction environment 1200 may include elements having like numbers to the elements in FIG. 1. The host device 105 may include malware 1205 and a trusted user application 1210. In a specific implementation, the secure transaction device 110 may block the malware 1205 from accessing the network 115. The secure transaction device 110 may also allow the trusted user application 1210 to access secure resources on the secure resource system 120 through the secure isolated tunnel 130.

In a specific implementation, the trusted user application 1210 may comprise components and/or processes that allow the host device 105 to perform financial transactions. As an example, the trusted user application 1210 may comprise a mobile application of a bank. The secure resources on the secure resource system 120 may include resources for a financial transaction performed by the trusted user application 1210 (e.g., a money transfer or an account management function). In this example, the secure transaction device 110 may ensure that data related to the transaction by the trusted user application 1210 passes through the secure isolated tunnel 130 in the network 115. The secure transaction device 110 may ensure that the malware 1205 does not have access to the data entered for the financial transaction. As another example, the trusted user application 1210 may comprise components and/or processes for an NFC transaction. The secure transaction device 110 may ensure that data related to NFC transaction passes through the secure isolated tunnel 130 in the network 115. The secure transaction device 110 may ensure that the malware 1205 does not have access to the data entered for the NFC transaction.

FIG. 13 shows an example of an implementation of a secure transaction environment 1300, according to some embodiments. The secure transaction environment 1300 may include elements having like numbers to the elements in FIG. 1. In this example, the host device 105 may include an untrusted user application 1315 and a trusted user application 1320. The secure transaction device 110 may include a policy manager 1325, which manages security policies through the policy management system 1125.

FIG. 14 shows an example of an implementation of a secure transaction environment 1400, according to some embodiments. The secure transaction environment 1400 may include elements having like numbers to the elements in FIG. 1 and FIG. 12. The secure transaction environment 1400 may further include a user 1405, a retina scanner 1420, and a fingerprint scanner 1415. The user 1405 may include a human being. The user 1405 may have biometric information that uniquely identifies him or her. For instance, the user 1405 may have fingers with unique fingerprints or eyes with a unique retinal pattern. The fingerprint scanner 1415 may include a digital device configured to scan a fingerprint of the user 1405. The retina scanner 1420 may include a digital device configured to scan a retinal pattern of the user 1405.

FIG. 15 shows an example of an implementation of a secure transaction environment 1500, according to some embodiments. The secure transaction environment 1500 may include a host device 1505, a secure transaction device 1510, an interface 1512, an isolated biometric device 1515, a secure resource system 1520, an unsecured resource system 1525, a secure isolated tunnel 1530, and an unsecured network 1540.

The host device 1505 may provide network access for application components and/or processes. The host device 1505 may include a trusted user application 1505 a, an untrusted user application 1505 b, malware 1505 c, an operating system and processor 1505 d, a trusted zone 1505 e of operation, and networks and protocols 1505 f implemented by the trusted zone 1505 e.

The secure transaction device 1510 may implement secure transaction services for the host device 1505. The secure transaction device 1510 may include secured networks and protocols 1510 a. The interface 1512 may comprise a device interface. The interface 1512 may comprise a network interface, such as a Wi-Fi interface, a 3G interface, a 4G interface, or an NFC interface.

The isolated biometric device 1515 may receive biometric information from a user. Examples of biometric information may include fingerprint information or retinal scan information. The isolated biometric device 1515 may be coupled to the secure transaction device 1510.

The secure resource system 1520 may comprise secure resources. The secure resource system 1520 may be coupled to the secure transaction device 1510 using a network. The unsecured resource system 1525 may comprise unsecured resources. The unsecured resource system 1525 may be coupled to the host device 1505 using a network, for which access may be blocked by the secure transaction device 1510, as discussed herein.

In a specific implementation, the secure transaction device 1510 may receive biometric information from the isolated biometric device 1515. The secure transaction device 1510 may further authenticate the biometric information. After authentication, the secure transaction device 1510 may implement the secured networks and protocols 1510 a therein, as well as the trusted zone 1505 e (and the corresponding networks and protocols 1505 f) within the host device 1505. Further, when

In a specific implementation, the secure transaction device 1510 may determine whether one or more of the trusted user application 1505 a, the untrusted user application 1505 b, and the malware 1505 c seeks network access. Such monitoring may be accomplished by instructing the operating system and processor 1505 d to forward all network traffic to the secure transaction device 1510. The secure transaction device 1510 may block all network access to the host device 1505 other than the secure isolated tunnel 1530. The secure transaction device 1510 may also allow the trusted user application 1505 a to access the secure resource system 1520 through the secure isolated tunnel 1530. Access attempts by the untrusted user application 1505 b and/or the malware 1505 c may be blocked as attempts to access the unsecured network 1540.

For purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that embodiments of the disclosure can be practiced without these specific details. In some instances, modules, structures, processes, features, and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams and flow diagrams are shown to represent data and logic flows. The components of block diagrams and flow diagrams (e.g., modules, blocks, structures, devices, features, etc.) may be variously combined, separated, removed, reordered, and replaced in a manner other than as expressly described and depicted herein.

Reference in this specification to “one embodiment”, “an embodiment”, “some embodiments”, “various embodiments”, “certain embodiments”, “other embodiments”, “one series of embodiments”, or the like means that a particular feature, design, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of, for example, the phrase “in one embodiment” or “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, whether or not there is express reference to an “embodiment” or the like, various features are described, which may be variously combined and included in some embodiments, but also variously omitted in other embodiments. Similarly, various features are described that may be preferences or requirements for some embodiments, but not other embodiments.

The language used herein has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments is intended to be illustrative, but not limiting, of the scope, which is set forth in the following claims. 

The invention claimed is:
 1. A method comprising: detecting that a secure transaction device has been coupled to a host system, the host system having a plurality of applications and a first network interface for communicating with a network, the secure transaction device having a second network interface different than the first network interface; configuring the secure transaction device with network parameters specific to the host system to which the secure transaction device has been coupled, so that when network traffic is communicated via the second network interface the secure transaction device mimics the host system and renders the secure transaction device transparent to the network; receiving a request from a particular application of the plurality of applications to access a network resource on the network, the network resource being remote from the host system and from the secure transaction device; if the network resource is an unsecured network resource, then allowing the host system to communicate with the unsecured network resource via the first network interface without requiring the host system to communicate with the unsecured network resource via the second network interface; if the network resource is a secured network resource, then configuring the host system to redirect all network traffic to the secure transaction device so that the secure transaction device can manage all the network traffic through the second network interface, thereby preventing the plurality of applications from accessing the network via the first network interface without requiring the host system to communicate with the unsecured network resource via the second network interface; using a security policy to authenticate the particular application of the plurality of applications as a trusted application authorized to access the secured network resource on the network; establishing a secure tunnel via the second network interface to the secured network resource on the network; allowing the trusted application to use the secure tunnel to access the secured network resource; and preventing untrusted applications of the plurality of applications from accessing the secure tunnel.
 2. The method of claim 1, wherein the secure transaction device has been coupled to an external port of the host system.
 3. The method of claim 1, wherein the secure transaction device has been coupled to an internal port of the host system.
 4. The method of claim 1, wherein the secure transaction device has been coupled to the host system via the first network interface.
 5. The method of claim 1, wherein the network parameters include network protocols and network addresses.
 6. The method of claim 1, wherein the particular application includes a standalone application.
 7. The method of claim 1, wherein the particular application includes an application dedicated to the secured network resource.
 8. The method of claim 1, wherein the configuring the host system to redirect all network traffic to the secure transaction device includes injecting redirection code into an operating system of the host system.
 9. The method of claim 1, further comprising authenticating a user of the particular application to confirm that the user is authorized to access the secure tunnel.
 10. The method of claim 1, wherein the preventing the untrusted applications from accessing the secure tunnel includes not sharing with the untrusted applications data needed to communicate over the secure tunnel.
 11. A secure transaction device comprising: memory storing a host device interface module configured to detect that the secure transaction device has been coupled to a host system, the host system having a plurality of applications and a first network interface for communicating with a network, the secure transaction device having a second network interface different than the first network interface; a configuration module configured to configure the secure transaction device with network parameters specific to the host system to which the secure transaction device has been coupled, so that when network traffic is communicated via the second network interface the secure transaction device mimics the host system and renders the secure transaction device transparent to the network; a secure transaction initiation module configured to receive a request from a particular application of the plurality of applications to access a network resource on the network, the network resource being remote from the host system and from the secure transaction device; a data redirection module configured to configure the host system, if the network resource is an unsecured network resource to allow the host system to communicate with the unsecured network resource via the first network interface without requiring the host system to communicate with the unsecured network resource via the second network interface, and if the network resource is a secured network resource to redirect all network traffic to the secure transaction device so that the secure transaction device can manage all the network traffic through the second network interface thereby preventing the plurality of applications from accessing the network via the first network interface without requiring the host system to communicate with the unsecured network resource via the second network interface; an application determination module configured to use a security policy to authenticate the particular application of the plurality of applications as a trusted application authorized to access the secured network resource on the network; a secure tunnel management module configured to establish a secure tunnel via the second network interface to the secured network resource on the network; a trusted application module configured to allow the trusted application to use the secure tunnel to access the secured network resource; and an untrusted application module configured to prevent untrusted applications of the plurality of applications from accessing the secure tunnel.
 12. The secure transaction device of claim 11, wherein the secure transaction device is coupled to an external port of the host system.
 13. The secure transaction device of claim 11, wherein the secure transaction device is coupled to an internal port of the host system.
 14. The secure transaction device of claim 11, wherein the secure transaction device is coupled to the host system via the first network interface.
 15. The secure transaction device of claim 11, wherein the network parameters include network protocols and network addresses.
 16. The secure transaction device of claim 11, wherein the particular application includes a standalone application.
 17. The secure transaction device of claim 11, wherein the particular application includes an application dedicated to the secured network resource.
 18. The secure transaction device of claim 11, wherein the data redirection module is configured to inject redirection code into an operating system of the host system.
 19. The secure transaction device of claim 11, further comprising a biometric input device configured to obtain authentication information from a user of the particular application to confirm that the user is authorized to access the secure tunnel.
 20. The secure transaction device of claim 11, wherein the untrusted application module is configured to not share with the untrusted applications data needed to communicate over the secure tunnel. 